package com.jadows.tdog.service;


import com.jadows.tdog.domain.Contact;
import com.jadows.tdog.po.RecentContactPo;
import com.jadows.tdog.vo.RecentContactVo;

import java.util.List;

/**
 * @author taojiacheng
 */
public interface ContactService {

    /**
     * 查找当前用户近期全部联系人
     */
    List<RecentContactVo> listRecentContacts();

    /**
     * 创建最近联系人
     */
    RecentContactVo createRecentContactIfAbsent(RecentContactPo recentContactPo);


    /**
     * 根据unionId查找最近联系人
     */
    Contact findContactByUnionId(String unionId);

    /**
     * 发送firebase 消息
     */
    Long pushMessage(String fromUid, String toUid, String title, String body);


    /**
     * 屏蔽最近联系人
     */
    void blockRecentContact(RecentContactPo recentContactPo);


    /**
     * 取消屏蔽最近联系人
     */
    void unblockRecentContact(RecentContactPo recentContactPo);


    /**
     * 删除最近联系人
     */
    void deleteRecentContact(RecentContactPo recentContactPo);

    /**
     * 更新最近联系人信息
     */
    void updateRecentContact(RecentContactPo recentContactPo);


    /**
     * 获取屏蔽联系人列表
     */
    List<RecentContactVo> listBlockContacts();


    /**
     * 当前联系人退网
     */
    Integer recentOut();

}
